package com.leadingsoft.pwxk.model;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Lob;
import javax.persistence.OneToMany;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

import com.alibaba.fastjson.annotation.JSONField;

import lombok.Getter;
import lombok.Setter;

/**
 * @author: lipan 2018年5月7日
 * @description: ( 大气污染物排放信息-有组织排放信息)
 * 
 */

@Entity
@Getter@Setter
public class AirPollutionOrg extends Basic {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/** 主要排放口备注信息 */
	@Lob
	@Column(length=1048576)
	private String othercontentzy;
	/** 一般排放口备注信息 */
	@Lob
	@Column(length=1048576)
	private String othercontentqt;
	/** 全厂有组织排放口总计备注信息 */
	@Lob
	@Column(length=1048576)
	private String othercontentqc;
	/** 申请年排放量限值计算过程 */

	@Lob
	@Column(length=1048576)
	private String groupinfo;

	/** 主要排放口合计list集合 */
	@Fetch(FetchMode.SELECT)
	@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
	@JSONField(name = "GASGROUPCOUNTTABLEONELIST")
	private List<DrainInfoAirOrgCountOne> countOneList;
	/** 一般排放口合计list集合 */
	@Fetch(FetchMode.SELECT)
	@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
	@JSONField(name = "GASGROUPCOUNTTABLETWOLIST")
	private List<DrainInfoAirOrgCountTwo> countTwoList;
	/** 全场排放口合计list集合 */
	@Fetch(FetchMode.SELECT)
	@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
	@JSONField(name = "GASGROUPCOUNTTABLETHREELIST")
	private List<DrainInfoAirOrgCountThr> countThrList;

	/** 主要排放口list集合 */
	@Fetch(FetchMode.SELECT)
	@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
	@JSONField(name = "GASGROUPTABLEONELIST")
	private List<DrainInfoAirOrgOne> oneList;
	/** 一般排放口list集合 */
	@Fetch(FetchMode.SELECT)
	@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
	@JSONField(name = "GASGROUPTABLETWOLIST")
	private List<DrainInfoAirOrgTwo> twoList;

}
